home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / a / a_funk / geograph.tos / GEOGRAPH / SUNCLOCK / DIALOG.C next >
Encoding:
C/C++ Source or Header  |  1990-06-06  |  2.1 KB  |  66 lines

  1. #include <tos.h>
  2. #include <vdi.h>
  3. #include <aes.h>
  4.  
  5. #include "gem.h"
  6. #include "dialog.h"
  7.  
  8. /*-------------------------------------------------------------------------*/
  9. /* DialogInit:                                                             */
  10. /*-------------------------------------------------------------------------*/
  11. OBJECT* DialogInit( id )
  12. int id;
  13. {
  14.     OBJECT *addr;
  15.  
  16.     graf_mouse(2, 0);
  17.     if (!rsrc_gaddr(R_TREE, id, &addr))
  18.         GemAbort("Can't GADDR on .RCS");
  19.     return addr;
  20. }
  21.  
  22. /*-------------------------------------------------------------------------*/
  23. /* DialogDo:                                                               */
  24. /*-------------------------------------------------------------------------*/
  25. int DialogDo( addr )
  26. OBJECT *addr;
  27. {
  28.    int cx, cy, cw, ch, res;
  29.  
  30.    graf_mouse(0, 0);
  31.    v_show_c(handle, 1);
  32.    form_center(addr, &cx, &cy, &cw, &ch);
  33.    form_dial(FMD_START, 0, 0, 0, 0, cx, cy, cw, ch);
  34.    objc_draw(addr, 0, MAX_DEPTH, 0, 0, 0, 0);
  35.    res = form_do(addr, 0);
  36.    form_dial(FMD_FINISH, 0, 0, 0, 0, cx, cy, cw, ch);
  37.    objc_change(addr, (res&0x7f), 0,0,0,0,0, NORMAL, 0); 
  38.                         /* reset selected object */
  39.    v_hide_c(handle);
  40.    return (res);                                 /* return selected object */
  41. }
  42.  
  43. /*-------------------------------------------------------------------------*/
  44. /* DialogSetItem:                                                          */
  45. /*-------------------------------------------------------------------------*/
  46. void DialogSetItem( addr, field, value )
  47. OBJECT *addr;
  48. int    field;
  49. bool   value;
  50. {
  51.    if (value)
  52.        objc_change(addr, field, 0,0,0,0,0, SELECTED, 0);
  53.    else
  54.        objc_change(addr, field, 0,0,0,0,0, NORMAL, 0);
  55. }
  56.  
  57. /*-------------------------------------------------------------------------*/
  58. /* DialogGetItem:                                                          */
  59. /*-------------------------------------------------------------------------*/
  60. bool DialogGetItem( addr, field )
  61. OBJECT *addr;
  62. int    field;
  63. {
  64.     return (addr[field].ob_state & SELECTED);
  65. }
  66.